<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"  
    xmlns:h="http://java.sun.com/jsf/html"  
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    template="/plantillas/plantilla-sistema.xhtml">
    <ui:define name="cabecera">
        <title>Gestión de Recolectores</title>
        <link rel="shortcut icon"  href="../../resources/imagenes/favicon.ico" />
    </ui:define>
    <ui:define name="contenido">
        <center>
            <p:panel id="recolectorPnl" header="Recolectores" style="width: 950px">
                <h:form id="tablaRecolectorFrm">
                    <p:dataTable id="tablaRecolector" var="recolector" 
                                 paginator="true" paginatorPosition="bottom" rows="10"
                                 value="#{recolectorBean.listaRecolectores}"
                                 rowKey="#{recolector.nombre}" selectionMode="single"
                                 emptyMessage="No hay registros disponibles.">
                        <p:column headerText="Nombre completo" filterBy="#{recolector.nombre}" 
                                  sortBy="#{recolector.nombre}" filterMatchMode="contains">
                            <h:outputText id="nombreTxt" value="#{recolector.nombre}" />
                        </p:column>
                        <p:column headerText="Alias" filterBy="#{recolector.alias}" 
                                  sortBy="#{recolector.alias}" filterMatchMode="contains">
                            <h:outputText id="aliasTxt" value="#{recolector.alias}" />
                        </p:column>
                        <p:column headerText="Dirección" filterBy="#{recolector.direccion}" 
                                  sortBy="#{recolector.direccion}" filterMatchMode="contains">
                            <h:outputText id="direccionTxt" value="#{recolector.direccion}" />
                        </p:column>
                        <p:column headerText="Teléfono" filterBy="#{recolector.telefono}" 
                                  sortBy="#{recolector.telefono}" filterMatchMode="contains">
                            <h:outputText id="telefonoTxt" value="#{recolector.telefono}" />
                        </p:column>
                        <p:column headerText="Correo Electrónico" filterBy="#{recolector.correoelectronico}" 
                                  sortBy="#{recolector.correoelectronico}" filterMatchMode="contains">
                            <h:outputText id="correoelectronicoTxt" value="#{recolector.correoelectronico}" />
                        </p:column>
                        <p:column headerText="Habilitado" filterBy="#{recolector.habilitado}" 
                                  sortBy="#{recolector.habilitado}" filterMatchMode="contains">
                            <h:outputText id="habilitadoTxt" value="#{recolector.habilitado}" />
                        </p:column>
                        <p:column headerText="Modificar">
                            <center>
                                <p:commandButton id="modificarBtn" title="Modificar" icon="ui-icon-pencil"
                                                 actionListener="#{recolectorBean.prepararModificacion(recolector)}"
                                                 update=":modificarRecolectorFrm:modificarRecolectorPnl"
                                                 oncomplete="modificarRecolectorWgt.show()"/>
                            </center>
                        </p:column>
                    </p:dataTable>
                    <p:commandButton id="nuevoBtn" value="Nuevo Recolector"
                                    oncomplete="guardarRecolectorWgt.show()"
                                    actionListener="#{recolectorBean.prepararAdicion}"
                                    update=":guardarRecolectorFrm:guardarRecolectorPnl"
                                    title="Agregar nuevo recolector" icon="ui-icon-document" />
                </h:form>
            </p:panel>
        </center>     
    </ui:define>
    <ui:define name="extra">
        <p:dialog id="guardarRecolectorDlg" header="Nuevo Recolector" widgetVar="guardarRecolectorWgt" 
                  resizable="false" modal="true" showEffect="false">
            <h:form id="guardarRecolectorFrm">
                <h:panelGrid id="guardarRecolectorPnl" columns="2" style="margin-bottom:10px">
                    <p:outputLabel for="nombreTxt" value="Nombre Completo: " />
                    <p:inputText id="nombreTxt" title="Obligatorio" 
                                 value="#{recolectorBean.recolector.nombre}"/>
                    <p:outputLabel for="aliasTxt" value="Alias: " />
                    <p:inputText id="aliasTxt" title="Opcional"
                                 value="#{recolectorBean.recolector.alias}"/>
                    <p:outputLabel for="direccionTxt" value="Dirección: " />
                    <p:inputText id="direccionTxt" title="Obligatorio"
                                 value="#{recolectorBean.recolector.direccion}"/>
                    <p:outputLabel for="telefonoTxt" value="Teléfono: " />
                    <p:inputMask id="telefonoTxt" title="Obligatorio" mask="(999)9999-9999"
                                 value="#{recolectorBean.recolector.telefono}" />
                    <p:outputLabel for="correoelectronicoTxt" value="Correo Electrónico: " />
                    <p:inputText id="correoelectronicoTxt" title="Opcional"
                                 value="#{recolectorBean.recolector.correoelectronico}"/>
                    <p:spacer width="20" height="20" />
                    <p:spacer width="20" height="20" />
                    <p:commandButton id="guardarBtn" actionListener="#{recolectorBean.agregarRecolector}" 
                                     oncomplete=":guardarRecolectorWgt.hide()" 
                                     update=":tablaRecolectorFrm:tablaRecolector" 
                                     value="Guardar" icon="ui-icon-disk" title="Guardar"/>
                    <p:commandButton value="Cancelar" type="button" onclick="guardarRecolectorWgt.hide()"
                                     icon="ui-icon-cancel" title="Cancelar"/>
                </h:panelGrid>
            </h:form>
        </p:dialog>
        <p:dialog id="modificarRecolectorDlg" header="Modificar Recolector" widgetVar="modificarRecolectorWgt" 
                  resizable="false" modal="true" showEffect="false">
            <h:form id="modificarRecolectorFrm">
                <h:panelGrid id="modificarRecolectorPnl" columns="2" style="margin-bottom:10px">
                    <p:outputLabel for="nombreTxt" value="Nombre Completo: " />
                    <p:inputText id="nombreTxt" title="Obligatorio" 
                                 value="#{recolectorBean.recolector.nombre}"/>
                    <p:outputLabel for="aliasTxt" value="Alias: " />
                    <p:inputText id="aliasTxt" title="Opcional"
                                 value="#{recolectorBean.recolector.alias}"/>
                    <p:outputLabel for="direccionTxt" value="Dirección: " />
                    <p:inputText id="direccionTxt" title="Obligatorio"
                                 value="#{recolectorBean.recolector.direccion}"/>
                    <p:outputLabel for="telefonoTxt" value="Teléfono: " />
                    <p:inputMask id="telefonoTxt" title="Obligatorio" mask="(999)9999-9999"
                                 value="#{recolectorBean.recolector.telefono}" />
                    <p:outputLabel for="correoelectronicoTxt" value="Correo Electrónico: " />
                    <p:inputText id="correoelectronicoTxt" title="Opcional"
                                 value="#{recolectorBean.recolector.correoelectronico}"/>
                    <p:outputLabel for="habilitadoTxt" value="Habilitado: " />
                    <p:selectBooleanCheckbox id="habilitadoTxt" value="#{recolectorBean.recolector.habilitado}" /> 
                    <p:spacer width="20" height="20" />
                    <p:spacer width="20" height="20" />
                    <p:commandButton id="guardarBtn" value="Guardar" icon="ui-icon-disk"
                                     actionListener="#{recolectorBean.actualizarRecolector}" 
                                     oncomplete=":modificarRecolectorWgt.hide()" title="Guardar"
                                     update=":tablaRecolectorFrm:tablaRecolector" />
                    <p:commandButton value="Cancelar" type="button" onclick="modificarRecolectorWgt.hide()"
                                     icon="ui-icon-cancel" title="Cancelar"/>
                </h:panelGrid>
            </h:form>
        </p:dialog>
    </ui:define>
</ui:composition>